package gslog

import (
	"sync"
)

var DefaultLog ILogger
var once = sync.Once{}

func init() {
	// 给 log 指定一个默认的日志实现。
	once.Do(func() {
		DefaultLog = NewConsoleLogger(defaultLogConfig())
	})
}

// 生成默认日志配置。
func defaultLogConfig() *LogConfig {
	return &LogConfig{
		TimeFormat: "2006-01-02 15:04:05",
		Level:      LEVEL_INFO_TAG,
		Driver:     "Simple",
		Name:       "Default",
	}
}

// 生成控制台日志对象。
func NewConsoleLogger(logConfig *LogConfig) ILogger {
	println("log level: ", logConfig.Level)
	return &consoleLog{logConfig: logConfig, logLevel: getLogLevel(logConfig.Level)}
}
